/**
 * 
 */
package edu.gatech.oad.mule.view.interfaces;

/**
 * Contains all of the methods necessary to acquire enough information to render
 * one frame of a building.
 * 
 * @author Dale Avery
 * 
 */
public interface RenderableBuilding extends RenderableZone {

	/**
	 * Represents all of the types of buildings that can be present on a town
	 * map.
	 * 
	 * @author Dale Avery
	 * 
	 */
	public static enum BuildingType {
		LAND_OFFICE, STABLE, STORE, BAR, OUTFITTER_ORE, OUTFITTER_CRYSTITE, OUTFITTER_FOOD, OUTFITTER_ENERGY, ERROR, EXIT
	};

	/**
	 * @return The type of the building.
	 */
	public BuildingType getBuildingType();

	/**
	 * @return The cost associated with the good/service this building provides.
	 */
	public int getCost();

	// TODO build either a new interface or a method for getting the number of
	// mules in stable

}// end interface RenderableBuilding
